package cn.edu.stu.syllabus.library.list;

import java.util.List;

import cn.edu.stu.syllabus.base.BasePresenter;
import cn.edu.stu.syllabus.base.BaseView;
import cn.edu.stu.syllabus.base.IStorable;
import cn.edu.stu.syllabus.repository.library.local.BookEntry;

/**
 * Created by daidaijie on 2017/3/27.
 */

public interface QueryBooksListContract {

    interface Presenter extends BasePresenter,IStorable {
        void loadBookList();

        void resetRefreshing();
    }

    interface View extends BaseView<Presenter> {
        void showQueryNum(long num);

        void setBookList(List<BookEntry> bookEntries);

        void showRefreshing(boolean isShow);

        void appendBookList(List<BookEntry> bookEntries);

        void showLoadingFail();

        void showLoadingEnd();

        void showDataEmpty();

        void showDataError();

        void moveToTop();

        void setRecyclerViewEnable(boolean enable);
    }
}
